package com.jlh.viewer.algorithm;

/**
 * Created by jlh
 * On 2017/3/15 0015.
 */
public class TreeIntroduce {
    /*                                                 ---->最大堆
    *         树  ---->二叉树------>完全二叉树---->堆 |
    *                           |                      ---->最小堆
    *                           --->满二叉树
    *
    *
    *
    *       度:指某个节点所拥有的子节点数量
    *       完全二叉树:k-1层 满节点  ，k层从左往右填满
    *       满二叉树：所有节点都满 ，第K层 节点数量 2^(k-1)   总结点数量 2^k-1
    *       堆:一般就是大小堆，是特殊的完全二叉树，节点值大于或小于子节点
    *       K叉树总结点个数=kn*n+  k(n-1)*(n-1).... k2*2 +k1+1   kn 为n度的节点个数
    *       线索二叉树 ，记录该节点按中序遍历时候的前驱和后继，一般右子树为空就用了记录后继，左为空记录前驱
    *
    *
    *
    *       根据前序和中序还原二叉树：前序遍历第一个一定是树的根节点，然后从中序中找到根节点位置，从左填起
    *                                 划分两段左边为根节点左子树，右为右子树，按照以上步骤递归左右子树
    *                                 同理中序和后序还原从后序的倒数第一个开始从右填起，但是前后无法还原
    * */
}
